package com.newtouch.bxzs.business.message.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.List;


/**
 * 通知信息的返回参数BO类
 *
 * <p>
 * <b>History:</b>
 * <table border="1">
 * <tr>
 * <th>Date</th>
 * <th>Operator</th>
 * <th>Memo</th>
 * </tr>
 * <tr>
 * <td>2020年12月14日</td>
 * <td>liman</td>
 * <td>Create</td>
 * </tr>
 * </table>
 *
 * @author liman
 *
 * @version 1.0.0
 * @since 1.0.0
 */

@Data
@ApiModel
public class NotificationBO implements Serializable {

    private static final long serialVersionUID = -6320819216112622181L;

    @ApiModelProperty(value = "通知ID")
    private String notificationId;

    @ApiModelProperty(value = "通知名称")
    private String notificationName;

    @ApiModelProperty(value = "通知类型，0-公司通知，1-业务通知，2个人通知，3系统通知,4-保单消息提醒，5-客户消息提醒，6-营销会议消息提醒，7-营销活动消息提醒，8-升级提醒")
    private String notificationType;


    @ApiModelProperty(value = "通知简介")
    private String notificationIntroduction;

    @ApiModelProperty(value = "通知内容")
    private String notificationContent;

    @ApiModelProperty(value = "发布时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date publishTime;

    @ApiModelProperty(value = "撤销时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date revokeTime;

    @ApiModelProperty(value = "发布状态，0-未发布，1-已发布，2已撤销")
    private Integer publishStatus;

    @ApiModelProperty(value = "创建用户ID")
    private String createUserId;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @ApiModelProperty(value = "修改人用户ID")
    private String updateUserId;

    @ApiModelProperty(value = "修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @ApiModelProperty(value = "备注")
    private String memo;

    @ApiModelProperty(value = "删除状态,false-有效，true-无效")
    private Boolean deleteFlag;

    @ApiModelProperty(value = "是否已读：是1；否0")
    private Boolean readFlag;

    @ApiModelProperty(value = "通知附件姓名")
    private HashMap<String, List<String>> notificationEnclosureNameList;
}
